{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "REIFORCE with Baseline 和 REINFORCE的区别为 : 其分别使用$\\hat{A}(s,a)$ 或者使用 $G$,其都是policy gradient系列算法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import gym\n",
    "from itertools import count #一个高效的迭代器\n",
    "import numpy as np\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import torch.optim as optim\n",
    "from torch.distributions import Categorical\n",
    "\n",
    "from IPython.display import clear_output\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7f07a1e8d390>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "env = gym.make('CartPole-v1')\n",
    "env.seed(42)\n",
    "gamma = 0.9\n",
    "torch.manual_seed(2) #为CPU设备设置种子用于生成随机数，让torch.rand(n)每次生成的随机数是确定的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Policy 网络\n",
    "class Policy(nn.Module):\n",
    "    def __init__(self):\n",
    "        #引用nn.Module的__init__()，等价于nn.Module.__init(self)\n",
    "        super(Policy,self).__init__()\n",
    "        self.Line1 = nn.Linear(4,128)\n",
    "        self.dropout = nn.Dropout(p=0.5)\n",
    "        self.Line2 = nn.Linear(128,2)\n",
    "        \n",
    "        self.saved_log_probs = []\n",
    "        self.rewards = []\n",
    "    \n",
    "    def forward(self,x):\n",
    "        x = self.Line1(x)\n",
    "        x = self.dropout(x)\n",
    "        x = F.relu(x)\n",
    "        action_scores = self.Line2(x)\n",
    "        softmax_scores = F.softmax(action_scores,dim=1)\n",
    "        return softmax_scores"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "policy = Policy()\n",
    "optimizer = optim.Adam(policy.parameters(),lr=1e-2)\n",
    "eps = np.finfo(np.float32).eps.item()     #自然对数e"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def select_action(state):\n",
    "    state = torch.from_numpy(state).float().unsqueeze(0)\n",
    "    probs = policy(state)\n",
    "    m = Categorical(probs)                             #对probs求自然对数\n",
    "    action = m.sample()                                #对自然对数m进行sample，返回索引值\n",
    "    policy.saved_log_probs.append(m.log_prob(action))  #存储被sample到的action的对数值\n",
    "    return action.item()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def finish_episode():\n",
    "    policy_loss = []\n",
    "    R = 0\n",
    "    returns = []\n",
    "    for r in policy.rewards[::-1]:\n",
    "        R = r + R*gamma\n",
    "        returns.insert(0,R)\n",
    "    returns = torch.tensor(returns)\n",
    "    returns = (returns -returns.mean())/(returns.std() + eps)# +eps??\n",
    "    for log_prob, R in zip(policy.saved_log_probs,returns):\n",
    "        policy_loss.append(-log_prob*R)\n",
    "    optimizer.zero_grad()\n",
    "    policy_loss = torch.cat(policy_loss).sum()\n",
    "    policy_loss.backward()\n",
    "    optimizer.step()\n",
    "    #清空数据\n",
    "    del policy.rewards[:]\n",
    "    del policy.saved_log_probs[:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_reward(frame_idx, rewards):\n",
    "    clear_output(True)\n",
    "    plt.figure(figsize=(20,5))\n",
    "    plt.title('frame %s. mean_reward: %s'%(frame_idx, np.mean(rewards[-10:])))\n",
    "    plt.plot(rewards)\n",
    "    plt.xlabel('epoch')\n",
    "    plt.ylabel('reward')\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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y2fmAbC9vI7rHlvC/oZm/nb9LOaMSwdgV2UDb20s5dU1e1mxaz+LbjqBE8emBfO/R0RERERERILIGLPcWjvrkPspqDSwvba2mLteWEtLq4d7LprCV2aNCFhWZK3lT+9v48HFm5iam8RXZ43g929vYV9DMzfMyeeOsyew4LOd/ObNTSz85vHM9QUE+pq1VmVPQVTT1MLdL63j36v2cuyoVL48M4+fvLSW84/O4Y9Xzzis//udlfXctGAZW8vq+NF5k/hkayUfbinngS9P48qDeh+V1jRx/WNL2FFRz5Wz8lhaWMXm0joAJmYlcuWsPL558pg++V1FREREREQkNBRUGkKKqxu545nVfLa9klmjUjnv6BzOnpzVNja5odnNnc+t4dW1xVwyPZdff3kazqhIqhta+M3iAhZ+sYuMhBjqXG5OGpfOX68/5N+FDHAvrdzD3S+to9blZmpuEs9960Tiog+/mrXO5eb7z67izfWlANx/+dFcNXtkwH2rG1q4acEylu/ax/Gjh3HW5CzOavf3KCIiIiIiIoObgkpDjMdjefLTQv65dFeHzJAzJ2fy/qZyNpbU8KMvTeLmU8Z0ylZZvXs/P31pHVvL6njj9pM79M6RwWt3VQMLPivk6yeNJic59ojvz+OxPPVZIekJMVx0TG63+1prcbk9OKMij/jnioiIiIiIyMCioNIQtrOynrc3lvH2hlKWFFYRFx3J/149g9Mmdj11zeOx1LrcJMd2nhwmIiIiIiIiIuKnoFKYqG5sITLCBBwJLyIiIiIiIiLSWz0NKikSMcgp80hEREREREREQqFvZ8qLiIiIiIiIiEhYUFBJRERERERERER6TUElERERERERERHpNQWVRERERERERESk1xRUEhERERERERGRXlNQSUREREREREREem1ABZWMMV8yxmwyxmw1xvwo1OsREREREREREZHABkxQyRgTCTwCnAdMAa42xkwJ7apERERERERERCSQARNUAmYDW6212621zcA/gUtCvCYREREREREREQlgIAWVhgO7231d5NvWgTHmZmPMMmPMsvLy8n5bnIiIiIiIiIiIHOAI9QJ6y1r7V+CvAMaYcmPMzhAvqa+kAxWhXoSEhI59eNPxD1869uFNxz986diHNx3/8KVjH74G67Ef1ZOdBlJQaQ8wot3Xeb5tXbLWZgR1Rf3IGLPMWjsr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\n",
      "text/plain": [
       "<Figure size 1440x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "running_reward = []\n",
    "for episode in range(200):\n",
    "    state, ep_reward = env.reset(), 0\n",
    "    for i in range(1,10000):\n",
    "        action = select_action(state)\n",
    "        state, reward, done, _ = env.step(action)\n",
    "        policy.rewards.append(reward)\n",
    "        ep_reward += reward\n",
    "        if done:\n",
    "            break\n",
    "    running_reward.append(ep_reward)\n",
    "    finish_episode()\n",
    "    plot_reward(episode,running_reward)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "CartPole-v1环境: action正确,reward=1;action错误,reward=0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.Policy():定义神经网络结构\n",
    "\n",
    "2.select_action:定义选择动作函数(对每次进行sample的action概率取对数，并记录:$log(\\pi(s_i,a_i))$\n",
    "\n",
    "3.finish_episode:定义更新操作,计算出Baseline-R，将每次的-R*log_prob计算求和，计算loss.sum()进行反向传递更新\n",
    "\n",
    "4.训练: 先sample一个序列 P $<log\\pi(s_1,a_1)),R_1,\\dots,log(\\pi(s_n,a_n)),R_n>$，调用finish_episode()函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "更新规则:\n",
    "$$\n",
    "\\theta_{t+1} = \\theta_t +\\alpha \\frac{\\hat{A}(s,a)\\nabla\\pi_{\\theta_t}(a|s)}{\\pi_\\theta(a|s)}\\\\\n",
    "\\theta_{t+1} = \\theta_t +\\alpha\\hat{A}(s,a)\\nabla_\\theta \\log\\pi_\\theta(s|a)\n",
    "$$\n",
    "Loss function:\n",
    "$$\n",
    "\\sum(-\\hat{A}(s,a)\\log\\pi(s|a))\n",
    "$$\n",
    "1.$\\hat{A}(s,a)$为advantage function,$\\pi_\\theta(s|a)$为在s采取动作a的可能性，可将其导数理解为在s采取动作a这个向量。\n",
    "\n",
    "2.除上$\\pi_\\theta(a|s)$是因为让小概率的动作获得较大的增长空间(增长可正可负)\n",
    "\n",
    "3.理解loss function:对loss求导才会有更新操作，所以Loss中没有求导"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcgAAAEaCAYAAACVV8fOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzs3Xd4VGX2wPHvSSChht5LKAkgHQnNQkdQFESRIgruuro2cBVx9WdBWVd0XbEgdhGsgAV0EQu9SJHQQ00ILfQO6e38/phJTEKAZJjkppzP89yHmXvf+94zMOTkvfctoqoYY4wxJjMfpwMwxhhjCiJLkMYYY0w2LEEaY4wx2bAEaYwxxmTDEqQxxhiTDUuQxhhjTDYsQRpTAIjISyJyQkSO5PN13xeR5/LzmsYUFmLjII1xEZG9wN9UdUE+X7c+sBMIVNVjeXide3B9vuvy6hrGFCXWgjTGefWBk3mZHI0xuWcJ0pgcEJH7RCRCRE6JyI8iUtu9X0TkDRE5JiLnRGSLiLR0H7tJRLaJyHkROSgiT2RTb29gPlBbRKJFZJqIdBeRqCzl9rrLIiIviMgsEfnMXfdWEQnJULaeiHwvIsdF5KSIvCMiVwHvA13c1znjLjtNRF663Od0H1MReUBEwkXkjIhMERHx5t+zMQWJJUhjLkNEegITgSFALWAfMMN9+AagK9AEqOAuc9J97BPg76paHmgJLMpat/t27o3AIVUtp6r35DCsAe4YKgI/Au+4Y/UF5rpjbADUAWao6nbgAWCV+zoVc/k509wMdABau8v1zWG8xhQ6liCNubwRwFRVXa+qCcDTuFpiDYAkoDzQDNcz/e2qeth9XhLQXEQCVPW0qq73YkwrVHWeqqYAnwNt3Ps7ArWBcaoao6rxqroih3Ve6nOmeUVVz6jqfmAx0NYbH8aYgsgSpDGXVxtXawoAVY3G1Uqso6qLcLXepgDHRORDEQlwF70duAnYJyJLRaSLF2PK2Ns1FiglIiWAesA+VU32oM6Lfs5LXLecB9cxplCwBGnM5R0CAtPeiEhZoApwEEBV31bV9kBzXLdax7n3r1XVgUB1YA4wK4fXiwHKZLieL1Ath+ceAOq7k2VWl+uyfsnPaUxxYwnSmMxKikipDFsJ4GvgLyLSVkT8gZeBNaq6V0Q6iEgnESmJK7HFA6ki4iciI0SkgqomAeeA1BzGsAtXi7C/u95nAf8cnvsHcBh4RUTKuj/Dte5jR4G6IuJ3kXMv+jlzeG1jihRLkMZkNg+Iy7C94O5I8xzwHa7k0xgY5i4fAHwEnMZ1e/Ik8Jr72N3AXhE5h6uDzIicBKCqZ4GHgI9xtd5igKhLnvTnuSnALUAQsN993lD34UXAVuCIiJzI5txLfU5jih2bKMAYY4zJhrUgjTHGmGxYgjTGGGOy4XiCFJF+IrLTPXvHU9kcf9w9G8lmEVkoIhl72Y1yz+oRLiKjMuxv757RJEJE3rbZPowxxuSWo88g3d3XdwF9cHUmWAsMV9VtGcr0wNWTLlZEHgS6q+pQEakMhAIhuLqvrwPaq+ppEfkDGAOswdXp4m1V/Tk/P5sxxpjCLbuxUvmpIxChqpEAIjIDGAikJ0hVXZyh/GrgLvfrvsB8VT3lPnc+0E9ElgABqrravf8z4FbgkgmyatWq2qBBAy98JGOMKT7WrVt3QlVzOk63UHE6QdbBNbA5TRTQ6RLl7+XPRJfduXXcW1Q2+y8gIvcD9wPUr1+f0NDQ3MRujDHFnojsu3ypwsnxZ5A5JSJ34bqd+trlyuaUqn6oqiGqGlKtWpH8BcgYY4yHnE6QB3HNHZmmLtlMa+Ve5ucZYIB7EuVLnXvQ/fqSdRpjjDGX4nSCXAsEi0hD9/RXw3At3ZNORNoBH+BKjhkXlP0VuEFEKolIJVzLDv3qXknhnIh0dvdeHQn8kB8fxhhjTNHh6DNIVU0WkUdwJTtfXEvtbBWRCUCoqv6I65ZqOeAb92iN/ao6QFVPici/cCVZgAlpHXZwTdM1DSiN65ml9WA1xhiTKzbVnFtISIhaJx1jjMkdEVmnqiFOx5EXnL7FaowxxhRIliCNMcaYbFiCvEJbos4yeWE4x87FOx2KMcbkWmJyKskpOV2qtHixBHmFft99gtfn76LLK4v4++ehLN11nNRUe65rjCnYjp6LZ9L8XVzzyiJ+3XrU6XAKJKdn0in0HujWmL4tajJj7X6+DY3i161HqVupNCO7BDK8Y33KlyrpdIjGGAOAqhK67zTTV+7ll7AjpKjSvUk1alYo5XRoBZL1YnXzRi/WhOQUftt6lC/X7GN15CnKlyrByC6B3HNNQ6qV9/dSpMYYkzuqyoLtx5i8KJzNUWcJKFWCISH1uKtzIA2qlr2iuotyL1ZLkG7eHuaxOeoM7y/dzc9hRyjp68OQkLo83COIWhVKe+0axhhzKampyq9bj/D2ogi2Hz5H/cpl+Hu3RgxqV4cyft65gWgJshjIq3GQkcej+Wh5JN+ui8JHhL9c25AHuzemQmm79WqMyRuqyqIdx3j1lx3sOhpNw6pleaRHEAPb1qaEr3e7nliCLAbyeqKAA6dimTR/F3M2HiSgVEke6RHE3V0CKVXSN8+uaYwpfnYcOcdLc7ezIuIEjaqW5dHewdzcuja+PnmzbrwlyGIgv2bS2XroLP/5ZSdLdx2nbqXS/GtgS3o0q57n1zXGFG3Hzycwaf4uZq7dT/lSJflH72Du6hxISS+3GLOyBFkM5PdUc79HnOD5H8LYfTyGm1rV5PmbW1hPMmNMrqkqs0IP8NJP24lLTGFklwaM6RVExTJ++XJ9S5DFgBNzsSYmp/Lhst1MXhRBSV8fxt7QhJFdGuTZrRBjTNGy72QMT3+/hZW7T9KpYWVevq0VjauVy9cYLEEWA05OVr7vZAzP/bCVZbuO0z6wEpOGtCGwypV1vTbGFF0pqcrUFXt4ff5OSvj48PRNzRjeoT4+DvxybQmyGHB6NQ9VZc7Ggzz/w1ZSUpVn+zdneMd6uJf4MsYYAKJOx/LYzI2s3XuaXs2q89Kglo4OHyvKCdJm0ikgRIRB7erSqWEVxn27if+bvYXFO4/x38FtqFDGhoQYY+CnzYd56vvNpKYqr9/RhtuurmO/ROchm4u1gKldsTSf/7UTz/a/isU7jtF/8nI2HjjjdFjGGAclJKfwzOwtPPzVehpVK8e8R6/n9vZ1LTnmMUuQBZCPj/C36xsx64EuqMId76/k81V7sdvhxhQ/h87EMeSD1Xy5Zj9/79qIbx/oYn0U8onjCVJE+onIThGJEJGnsjneVUTWi0iyiAzOsL+HiGzMsMWLyK3uY9NEZE+GY23z8zN5y9X1K/HTmOu4Lqgqz/2wlf+bvYXEZFuWxpjiYtXuk9wyeQW7j0Xz3oirefqmq/J8XKP5k6PPIEXEF5gC9AGigLUi8qOqbstQbD9wD/BExnNVdTHQ1l1PZSAC+C1DkXGq+m3eRZ8/Kpbx4+NRHXj9t528u2Q34Uejee+u9jb5uTFF3My1+3lmdhiBVcrwwd0hBFXP3+EbxvkWZEcgQlUjVTURmAEMzFhAVfeq6mbgUk2nwcDPqhqbd6E6x9dHeLJfMyYPb0fYobPc9t7v7D4e7XRYxpg8kJqqTJy3nX9+t4Uujasw++FrLTk6xOkEWQc4kOF9lHtfbg0Dvs6y798isllE3hCRbJtbInK/iISKSOjx48c9uGz+uqVNbWbe34XYhBRuf28loXtPOR2SMcaLEpJTeOTr9XywLJK7Otfn03s6EGBryjrG6QR5xUSkFtAK+DXD7qeBZkAHoDLwz+zOVdUPVTVEVUOqVauW57F6Q5t6Ffn+oWuoVMaPOz9ewy9hh50OyRjjBefjk/jLp2uZt+UIz/a/in8NbOn1lTdM7jj9t38QqJfhfV33vtwYAsxW1aS0Hap6WF0SgE9x3cotMgKrlOW7B6+hRe0AHvpyPd+ti3I6JGPMFTgRncDwj1bzx55TvDG0DX+7vpEN4SgAnE6Qa4FgEWkoIn64bpX+mMs6hpPl9qq7VYm4vmG3AmFeiLVAqVzWjy/u7USXxlUY+80mPl+11+mQjDEeOHYunqEfrCLiWDQfjQxhULu6Todk3BxNkKqaDDyC6/bodmCWqm4VkQkiMgBARDqISBRwB/CBiGxNO19EGuBqgS7NUvWXIrIF2AJUBV7K68/ihLL+JfhkVAd6X1Wd537YyofLdjsdkjEmF46cjWfYh6s5cjaez/7ayZa+K2BsLlY3p+divRJJKan8Y+ZGftp8mGf7X8Xfrm/kdEjGmMs4dCaO4R+t5mR0ItP/2oH2gZWdDskjNherKdBK+vrw1tC2qCov/bSdkr4+jLqmgdNhGWMu4ti5eO78aDWnohP5/N6OtKtfyemQTDYsQRYRJXx9eGtYO5JT1jP+x62U8BVGdAp0OixjTBanYxK565M1HDufwBd/62TJsQBzupOO8aKSvj68c+fV9GxWnWfnhDF38yGnQzLGZHA+PolRn/7B3pOxfDwqhKstORZoliCLGL8SPrw74mpCAivx2MyNrAg/4XRIxhhckwD8bXoo2w6d4/27ruaaxlWdDslchiXIIqhUSV8+HtWBxtXKcf/noWyy5bKMcVRqqjLum82s2XOK14e0oWezGk6HZHLAEmQRVaF0ST77a0cql/Xjr9PWcuBUkZym1phC4fX5O/lx0yGe7NeUgW09mU3TOMESZBFWPaAU0//akeRU5S/T1nI2LunyJxljvOrrP/YzZfFuhnesz4PdGjsdjskFS5BFXONq5Xj/rvbsOxnDQ1+uIynF1pM0Jr8s2XmMZ+eE0b1pNf41sIVNH1fIWIIsBro0rsLE21rze8RJnpsThk0OYUze2374HA9/uZ5mNcvzzp1X28TjhZCNgywmBrevy94TMbyzOIIWdSpwd2cbI2lMXjkTm8j9n4dSrlQJpt7TgXL+9qO2MLJfaYqRx/s0oUfTakz431ZbS9KYPJKSqoyZsZGjZxN4/6721Ago5XRIxkOWIIsRHx/hzaHtqF2xNA9+uZ6j5+KdDsmYIuf133aybNdxXhzYwmbJKeQsQRYzFcqU5MO7Q4hJSOahL9eTmGyddozxll/CDvPukt0M71iP4R3rOx2OuUKWIIuhpjXL85/BrVm37zQT5m69/AnGmMsKP3qesbM20bZeRV4Y0MLpcIwXWIIspm5uXZu/d23EF6v38926KKfDMaZQi0lI5u9frKO0ny/v3XU1/iV8nQ7JeIElyGJsXN+mdG5Umed+CCPyeLTT4RhTaD3/w1b2nohh8vCrqVWhtNPhGC+xBFmMlfD14c2h7fAr4cPorzeQkJzidEjGFDpzNhzku/VRPNIzmC6NqzgdjvEixxOkiPQTkZ0iEiEiT2VzvKuIrBeRZBEZnOVYiohsdG8/ZtjfUETWuOucKSJ++fFZCqOaFUrx2uA2bD10jv/8stPpcIwpVPadjOHZOWGEBFZiTM8gp8MxXuZoghQRX2AKcCPQHBguIs2zFNsP3AN8lU0Vcara1r0NyLD/VeANVQ0CTgP3ej34IqRP8xqM6hLIJyv2sHjHMafDMaZQSExOZczXG/AReHNYW5sppwhy+l+0IxChqpGqmgjMAAZmLKCqe1V1M5Cj8QjimuywJ/Cte9d04FbvhVw0PX3TVTSrWZ6x32zimI2PNOayXp+/k01RZ3n19tbUrVTG6XBMHnA6QdYBDmR4H+Xel1OlRCRURFaLSFoSrAKcUdXky9UpIve7zw89fvx4bmMvUkqV9OWdO9sRl5jCY7M2kppq87UaczHLw4/zwdJI7uxUnxtb1XI6HJNHnE6QVypQVUOAO4E3RSRXa8mo6oeqGqKqIdWqVcubCAuRoOrlef6W5vwecZLPVu11OhxjCqSzcUmM+2YzQdXL8Vz/rE+ETFHidII8CNTL8L6ue1+OqOpB95+RwBKgHXASqCgiabMD56rO4m5Yh3r0aFqNV37ZwZ4TMU6HY0yBM+F/2zgencCkIW0o7WfjHYsypxPkWiDY3evUDxgG/HiZcwAQkUoi4u9+XRW4FtimrrWcFgNpPV5HAT94PfIiSkSYeFtr/Hx9GPfNJlLsVqsx6RZsO8p366N4qHtjWtet6HQ4Jo85miDdzwkfAX4FtgOzVHWriEwQkQEAItJBRKKAO4APRCRtbrSrgFAR2YQrIb6iqtvcx/4JPC4iEbieSX6Sf5+q8KtZoRQvDGhB6L7TTF2xx+lwjCkQTsck8vTsLTSrWZ7RPYOdDsfkA8cXKVPVecC8LPuez/B6La7bpFnPWwm0ukidkbh6yBoPDWpXh3lbjvDabzvp0aw6QdXLOR2SMY564X9bOR2TyLS/dMCvhNM330x+sH9lky0R4eXbWlLGz5ex32wiOcVW/TDF1y9hh/lh4yFG9wymRe0KTodj8oklSHNR1cuXYsLAlmw6cIYPl0c6HY4xjjgVk8gzs8NoWSeAh3rkqqO8KeSuKEGKSFn3bDimiLqldS36tqjBWwvC2XfSerWa4ufleds5G5fEf+9oQ0mbLadYydW/toj4iMidIvKTiBwDdgCHRWSbiLwmIjYZYREjIrw4oCUlfX14dk4Yrk7CxhQPK3ef4Nt1UdzftRHNagY4HY7JZ7n9dWgx0Bh4GqipqvVUtTpwHbAaeFVE7vJyjMZhNSuU4sl+TVkefoIfNh5yOhxj8kV8UgrPzA6jfuUyjOllvVaLo9wmyN6q+i9V3ayq6b02VPWUqn6nqrcDM70boikIRnQKpG29ivxr7jbOxCZetnxUVBSjR49m48aN+RCdMd737pLd7DkRw78HtaRUyT+fJKWmpvL111/z2GOPORidyQ+5SpCqmpTxfXbPILOWMUWDr48w8bZWnIlLYuK8HRctd+bMGZ5++mnatGlD2bJladKkST5GaYx3RBw7z3tLIri1bW2uD/5zGspFixbRsWNHJk2axO233+5ghCY/2DNIk2NX1Qrgb9c3ZGboAdZEnsx0LCEhgTfeeIOmTZty7NgxNm3axCuvvEKZMrbKgSlcUlOV//s+jLL+JXj2Ztdcq1u2bOGmm27ivvvuY9y4caxZs4brrrvO4UhNXpPcdLoQkaXAAlxTt4Wl3WYVkcpAD1yThs9W1S/yINY8FRISoqGhoU6HUeDFJabQ542l+JXw4edHr8e/hC8vv/wyb775JnXq1GHQoEHUqlWLUqVKUbp0acqUKUPp0qUzva5UqRJVqlTBtTKZMQXLzLX7+ed3W/jP7a3pVD2VkSNHsnHjRm666SauvfZaSpYsmf6dTvueZ3xdvXr1YvX9FpF17kUjipzczqTTO7tbqKp6CvgO+E5ESnolMlMglfbz5aVbW3LPp2v5ZMUeHuoexOzZszl9+jQ1a9Zk+/bt7N+/n/j4eOLi4oiLiyM2NjbT69OnTxMTE0OdOnWoW7cudevWTX9dr149mjdvTlBQEL6+NoLI5K8zsYm88vMOOjaszB0hdZk3bx7r1q2jVKlSHD9+nC1btqCqxMXFZfqOp72PjY3l6NGjxMXFUadOnUxb3bp1CQwMpFWrVjRq1AgfHxsyUtDlqgWZfpJIFWAIEA9sBbaoapyXY8tX1oLMnfs/C2VFxAkWje1OzQqlCA8PZ9KkScyYMYOhQ4cyduxYgoMv3vMvNjaWQ4cOERUVlb4dPHiQffv2ERYWxrFjx2jRogVt2rRJ31q3bk1AgHW1N3nnuTlhfPXHfn4ac136sI7k5GS+//57XnvtNc6dO8fYsWMZOXIkpUqVumg9sbGxHDx48IItMjKSLVu2cPLkSVq2bEnr1q3Tv9utWrWiQoXCN0tPUW5Bepogl+G61fogsAvoAkSqajPvhpd/LEHmzoFTsfSetJS+LWry9vB26fuPHj3KO++8w/vvv0/Xrl2ZOHGiRx11zp49y5YtW9i0aVP6FhYWRoMGDejVqxe9evWie/fuhfIHiimYth06x82TlzOySwNeGNDiguOqyrJly3jttdcIDQ1lzJgxPPXUUx61BM+cOcPmzZvZvHkzmzZtYvPmzWzdupXGjRvTs2dPevXqRdeuXQvFL4SWILOeJLJBVduJyEZVbSsitwNtMk4yXthYgsy9SfN38fbCcGbe35lOjapkOhYdHc2nn35KUFAQN954o1eul5KSwvr161m4cCELFy5k9erVtGjRIj1hXnPNNZf8rd6Yi1FVhn6wmojj0Swe250KZS79pGjr1q189dVXPPfcc177ziUlJREaGsqiRYtYuHAhf/zxB61atUpPmNdeey3+/v5euZY3WYLMepLIKlXtIiJrgO6qGiciq1W1s/dDzB+WIHMvLjGF3pOWUr5UCeaOvo4S+TwNV3x8PKtWrUpPmDt27OCWW25h2LBh9O7dGz8/v3yNxxReP2w8yKMzNvLKba0Y1rG+0+EAEBcXx8qVK1m0aBELFiwgPDycAQMGMGzYMHr16kXJkgWju4clyKwnuVqMi4F7gA7ASuBhu8Va/Py85TAPfrmeCQNbMLJLA0djOXz4MN9++y0zZsxg586d3HbbbQwbNoxu3bpZhx9zUTEJyfR8fQk1Akox56Fr8fEpmL1PDx48yDfffMOMGTPYvXs3t912G0OHDnX8+20J8lIViNyNa13GaRkWLC50LEF6RlW565M1hB08x+InulO5bMFote3bt49Zs2Yxc+ZMDh48yPDhw3nooYcICrKhuiazV37ewftLdzP7oWtoV7+S0+HkyN69ezN9v0eMGMHDDz9Mo0aN8j2WopwgcztRQP2sG7AUeAeIzrC/4D9ZNl4hIrxwSwuiE5J57dedToeTLjAwkHHjxhEaGsrSpUvx8/OjS5cu3Hzzzfz222826boBYM+JGD5ZEcng9nULTXIEaNCgAU8++STr1q1j2bJl+Pr60qlTJ2655Rb7fntRbicKWAwocKl7EIqrNflZDuvsB7wF+AIfq+orWY53Bd4EWgPDVPVb9/62wHtAAJAC/FtVZ7qPTQO6AWfd1dyjqpecFNRakFfmxf9tZfrKvcx79PoCu+pBXFwcX331FW+//TaJiYk88sgjjBw5kvLlyzsdmnHIfZ+FsjLiBIvHdad6+cLdwSs2Njb9+52UlJRv3++i3IJEVR3bcCXF3UAjwA/YBDTPUqYBruT4GTA4w/4mQLD7dW3gMFDR/X5axrI52dq3b6/Gc6djErT1C7/qXR+vdjqUy0pNTdUlS5bo7bffrpUrV9Zx48bp8ePHnQ7L5LNVu09o4D/n6juLwp0Oxavy+/sNhKqDeSQvN4+6HYrIsrTbqCLygIj8Q0Q8efjUEYhQ1UhVTQRmAAMzFlDVvaq6GUjNsn+Xqoa7Xx8CjgHVMI6oWMaP0T2DWB5+giU7jzkdziWJCN26dePbb79l/fr1nD9/nqZNmzJ+/HjOnj17+QpMoZeaqrz00zZqVyjFvdc1dDocr8r4/d6wYQPR0dE0bdqU559/njNnzjgdXqHiab/8Cqp6TkTaA/cBlYCPPKinDnAgw/so975cEZGOuFqguzPs/reIbBaRN0Qk28FDInK/iISKSOjx48dze1mTxcguDQisUoaX520nOSX18icUAIGBgbz33nuEhoayb98+goKCmDhxIjExMU6HZvLQnI0HCTt4jnH9mmZayqqoqV+/Pu+++y6hoaFERUURHBzMyy+/THR0tNOhFQqeJsgkESkBjAReVdXxwIVTT+QDEakFfA78Rf9co/JpoBmuISiVgX9md66qfqiqIaoaUq2aNT6vlF8JH57q14xdR6OZFRrldDi50rBhQ6ZNm8by5cvZtGkTQUFBvPXWWyQkJDgdmvGyuMQUXvt1J63rVmBgm1z/Pl4oNWzYkKlTp7JixQrCwsIICgri9ddfJz4+3unQCjRPE+TbuJ4X3gz8z72vnAf1HATqZXhf170vR9y3eX8CnlHV1Wn7VfWw+/Z4AvAprlu5Jh/0a1mTDg0qMWn+TqITkp0OJ9eaNWvGjBkz+OWXX1iwYAEtWrRg7ty5TodlvOiTFZEcPhvPMzddVWDHPOaVpk2b8tVXXzF//nyWL19O8+bNmTNnjvV6vQiPEqS6eqh2AlqqaxadIGCVB1WtBYJFpKH7GeYw4MecnOguPxv4TN09WzMcq+X+U4BbgTAPYjMeEBGe6d+cE9GJvL9k9+VPKKDatGnD//73P6ZMmcITTzxB//792bt3r9NhmSt07Hw87y3ZzQ3Na1wwPWJx0qpVK+bMmcOHH37IM888ww033EBERITTYRU4uR0Hmf7rlqpGq3sFD1WNUNW/ZC1zOaqaDDwC/ApsB2ap6lYRmSAiA9z1dRCRKOAO4AMR2eo+fQjQFbhHRDa6t7buY1+KyBZgC1AVeCk3n9Ncmbb1KjKgTW0+Wh7JoTOFepEX+vbty+bNm+nduzdr1651Ohxzhd6YH05CcipP3VhoJ/3yqt69e7Nx40ZuueUWVq3ypI1TtOV2HOQSXOs+/qCq+zPs9wOuA0YBi1V1mnfDzHs2DtK7ok7H0vP1pQxsU5vX7mjjdDjGEHEsmhveWHrR1TqMZ4ryOMjc3mLth2tQ/tcickhEtolIJBAODAfeLIzJ0Xhf3UplGNk5kO/WRxF+9LzT4RjD67/tpHRJX0b3tOkGTc7kKkGqaryqvosrUQYCvYCrVTVQVe9T1Q15EaQpnB7qEURZvxIFago6UzxtPHCGn8OOcF/XRlQpV/CWjDIFk6e9WNcDwcBxVT0DICK5XxXXFGmVy/pxf9dG/LbtKOv2nc6Xa3bv3p3u3bvny7UKgmnTpiEi1oHoElSVV3/eQZWyfvzt+vyfzNubPPl+iwgvvPBCnsSTH0Sku4ioiHTP72uX8PC8ysAU4CoROY6rg83VgN27MJn89bqGTF+1j1d/2cHM+zuTiz5cxnjF8vATrIo8yfhbmlPO39MfeQXDu+++m+tzVq1aRd26dfMgmqLP02/LflXtASAidYGrgMLdXdHkibL+JRjTK4jnf9jKkl3H6dG0utMhmWIkNVV59Zcd1K1Umjs7FYyFkD2VkJBA8+bNc31e586Fdh17x3k81ZyIXCMiFVQ1SlXnq+oKr0ZmioxhHepTv3IZ/vPLTlJTvTcgecaMGTRr1gx/f39atGjB7NmzLyhFeyCRAAAgAElEQVSzc+dOBg0aRMWKFSldujSdO3fml19+ST++bt06RIQVK/78+k6ePBkR4dlnn03fFx4ejojw008/AX/e2ly9ejUjRowgICCA2rVrM2bMmFzPTpKcnMzEiRPTP0vt2rUZO3bsBfVERkbSv39/ypQpQ7Vq1Xj00UezneknNjaWBx98kCpVqlCuXDkGDRrEypUrERGmTZuWqezSpUvp1asX5cuXp2zZsvTt25ewsKIzbPinLYfZeugcY29ogn+JwjOl3AsvvICIEBYWRt++fSlXrhxDhgy54BZrdHQ0o0ePpn79+vj7+1O9enV69+7Njh070stkvcWaVnd4eDj9+/enXLlyBAYGMmHCBFJTM08RuX79eq6//npKly5NvXr1ePnllxk/frxHd4LcU3tuEpF4ETkhIp+ISOUsZaqJyFcick5EzojIZ0DFbOryFZGXROSwiMSKyCIRaea+FftClrJtRORHETktInEi8ruIXJ+TmD1NkOWAJ4A/RGSviPwsIq95WJcp4vxK+DD2hiZsP3yO/20+5JU6FyxYwJ133klwcDDff/8948aN49FHH2Xnzj87BB06dIjrrruOTZs28c477zBr1iwqVqxI//79+fnnnwFo164dFStWZNGiRennLVq0iNKlS1+wr0SJEnTt2jVTHHfffTeNGzfm+++/58EHH2TKlClMnDgxV5/lrrvu4qWXXuLOO+/kp59+4umnn+aTTz5hxIgR6WUSExPp06cPGzZsYMqUKUybNo09e/bw0ksXDvG9//77mTp1Kk888QSzZ8+madOmmepK89NPP9GrVy/KlSvHF198wVdffcX58+e5/vrrOXDgwAXlC5uklFRe/20nzWqWZ0AhnVJu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1lyUqxXZhKEfruaL1fs8ntnkxRdf5IYbbuDWW2/l73//O8ePH2f8+PHUrFkzvcxjjz3GtGnT6NOnDy+++CIBAQG8++677Nq164L/5D169ODhhx/G19eX66939QBv164d5cuXZ/HixTz//POef+hL6N69O8OHD2fw4ME8/vjjdOzYER8fH/bu3cu8efN49dVXadKkCaNGjeKVV17htttu4+WXX6Z69eq8//776c9R0zRr1ow777yT5557jtTUVNq3b8+iRYv43/9cN3vSntmKCFOmTGHgwIEkJiYyZMgQqlatytGjR1m5ciX169fn8ceze5JSsEUnJPP+0t10bVKNkAaVL39CIdelSxcGDBhAq1atKFeuHEuXLmXTpk2MGjXqiut+/PHHee+99+jbty/jx4/H39+fSZMm4e/vn6vb1qq6W0ReBd4RkabAUiAe11rAfYCPVXWxqs4XkRW4Vm2qimuO76FAyyz1nRaRN4H/E5HzuJ4nXg2kPSvI2Cp8HFgG/Coin+BqfVZ1l/dV1acuF7wnvVifwzXd3HjgBSAUeB7Xg9MvPanT6c16seavER+t1qsn/KbR8Uke1/HVV19pkyZN1M/PT5s3b67ff//9Bb38duzYoQMHDtSAgAD19/fXTp066c8//3xBXdu2bVMgU09VVVcPV0AXL16caX9aL9aMPWRV/+whmBspKSn65ptvauvWrdXf318DAgK0devWOm7cOD1z5kx6ud27d+uNN96opUuX1qpVq+qYMWP0/fffz9SLVVU1JiZGH3jgAa1UqZKWLVtWb7nlFp07d64COmfOnEzXXrlypfbv318rVqyo/v7+GhgYqEOHDtWVK1fm6jMUFJMX7tLAf87VDftPOx3KFUn7HiUlZf7/kfX7/eSTT2rbtm01ICBAy5Qpoy1bttS33nor0zlcpBdr1rpHjRqlgYGBmfatW7dOr732WvX399fatWvrhAkTdMyYMVqxYsWM9V+yF2vaBtwNrMbV+ovG1ZP0HaBuhjLVgK9xdd45w5/DONJ7seqfPVH/DRzBNUnNEuAad7lHs1z3KlwdfY7hathF4RoSctPlYs7VclcZiUgIrm66AL9rDpqrBZktd5W/1u8/zW3vruTJfk15qLvNUJjX/vvf//Lkk0+yd+/eQt8B52LOxiVx/auL6NiwMh+P6uB0OEVSSkoKV199NVWrVmXh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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(0,10,0.05)\n",
    "mu, sigma = 5, 2\n",
    "y = lambda x : -np.exp(-((x-mu)**2)/(2*sigma**2))/(sigma*np.sqrt(2*np.pi))+0.2\n",
    "plt.plot(x, y(x))\n",
    "plt.title(\"Loss function\")\n",
    "plt.xlabel(\"$\\log\\pi(s|a))$\")\n",
    "plt.ylabel(\"$\\sum(-\\hat{A}(s,a)\\log\\pi(s|a))$\")\n",
    "plt.annotate(r'rising_edge',xy=(8,y(8)), xycoords='data', xytext=(+30, -30),\n",
    "             textcoords='offset points', fontsize=16,\n",
    "             arrowprops=dict(arrowstyle='->', connectionstyle=\"arc3,rad=.2\"))\n",
    "plt.annotate(r'down_edge',xy=(2,y(2)), xycoords='data', xytext=(+30, -30),\n",
    "             textcoords='offset points', fontsize=16,\n",
    "             arrowprops=dict(arrowstyle='->', connectionstyle=\"arc3,rad=.2\"))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "* policy gradient 可以很好的处理连续状态：\n",
    "\n",
    "    神经网络可以很好的映射:从某个state$\\rightarrow$action\n",
    "    \n",
    "    \n",
    "* 对更新的理解\n",
    "\n",
    "    到最后Loss可以收敛一个趋近于0的值: 考虑到公式$-\\hat{A}log\\pi(s,a)$，开始训练时$\\hat{A}$大的可能少sample，$log\\pi(s,a)$会较小(取反会较大)，此时在通过更新Loss Function找到global optimum。$\\hat{A}$小的会少sample，$log\\pi(s,a)$会较小(取反会较大)、$\\hat{A}$大的会多sample，$log\\pi(s,a)$会较大(取反会较小)，所以稳定状态总的Loss是趋于0的，也就是说此时的神经网络参数基本稳定。但训练过程中会出现从最高的reward变为较小的reward的现象，可以宏观的理解为可能只达到了local optimum,也就是有些state和action没有搜索到\n",
    "    \n",
    "    \n",
    "* 对连续动作的理解\n",
    "    \n",
    "    状态动作概率映射函数$\\pi(s,a)$本身就可以理解为在某个state从$action\\rightarrow\\pi(s,a)$的映射,具体可如下图抽象理解\n",
    "\n",
    "\n",
    "* 对$\\Delta\\pi(s,a)$的理解(先不除$\\pi(s,a)$)\n",
    "\n",
    "    此时是对单个state进行考虑,所以横坐标为action的映射，所以沿着导数的方向就可以找到$\\pi_(s,a)$最大的action"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.arange(1,10,0.05)\n",
    "y = 1/x\n",
    "plt.xlabel(\"action\")\n",
    "plt.ylabel(\"$\\pi(s,a)$\")\n",
    "plt.plot(x,y)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
